|
PHP5의 추가된 사항을 올리는 곳입니다. |
[1] |
|
등록일:2007-10-10 22:49:15 (0%) 작성자: 제목:[SW기술] 자바의 ArrayList PHP로 구현 |
|
칭찬해주십시요 ㅎㅎ
자바의 ArrayList가 그리워 php로 한번 구현해 봤습니다...
<?php
// arraylist.php
class ArrayList {
private $arr = array(); // 이곳에 쌓임
private $index;
function __construct() {
$this->index = 0;
}
// 추가
function add($element) {
$this->arr[$this->index++] = $element ;
}
function indexOf($element) {
for ($i=0; $i < sizeof($this->arr) ; $i++) {
// 변수가 객체인지 확인한다.
if (is_object($this->arr[$i]) ) {
if (get_class($this->arr[$i]) == get_class($element) )
{
return $i;
}
}
else {
if ( $this->arr[$i] == $element )
{
return $i;
}
}
}
}
function remove($index) {
unset($this->arr[$index]);
$f = array();
$z = 0;
for ($i=0; $i < $this->size()+1; $i++) {
if (isset($this->arr[$i]) ) {
$f[$z++] = $this->arr[$i] ;
} else {
continue;
}
}
$this->arr = $f;
}
function size() {
return sizeof($this->arr);
}
function get($index) {
return $this->arr[$index];
}
}
?>
사용법은 자바랑 비슷합니다... 일단 객체 만들어주시구여..
$array = new ArrayList ;
변수나 객체를 넣을수 있습니다.
$array->add($a) // 변수라던지 아니면 객체모두
내부적으로 0 1 2 3 이렇게 차곡차곡 쌓입니다...
젤 중요한건 $array->remove(index번호) 이놈인데 삭제하고픈 요소의 인덱스번호를
넣어주시면 배열에서 삭제됩니다... 그리고 번호가 순차적으로 다시 정렬됩니다...
배열 중간이 땜방이 되지 않습니다 ㅎㅎ 테스트는 해보았구여 객체 변수 모두 됩니다...
그외
$array->indexOf(변수명이나 객체) 변수명이나 객체변수를 집어넣으면
배열에서 어디에 저장되어있는지 인덱스를 반환합니다...
$array->size() // 배열요소의 총개수를 반환합니다..
$array->get(인덱스번호) // 인덱스번호를 집어넣으면 해당하는 요소의 값을
// 반환합니다...
그런데 완벽하게 테스트해보진 않아서 어디에 버그가 있을지는 ㅠ
사실은 몇시간동안 삽질을 해서 에너지 고갈로 이글을 마지막으로 좀 쉴려고 합니다...
php5에서부터 완벽하게 객체지향이 지원된다고 했는데 막상 이렇게 자바 비슷하게 구현되니 왼지 몸으로 php의 위력이 몸으로 실감이 되네여 ㅎㅎㅎㅎ
이상 잡소리였습니다 ㅎㅎ
좋은 하루되세요... ^ ^
[이 게시물은 PHPSCHOOL님에 의해 2007-08-27 21:36:15 포럼에서 이동 됨]
출처 : http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=55846&sca=&sfl=wr_subject%7C%7Cwr_content&stx=php5&sop=and |
[본문링크] [SW기술] 자바의 ArrayList PHP로 구현
|
[1]
|
|
|
|
|
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=1078 |
|
|
|
|
|
|
|
|
|
Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.
|
|
|